;:open1,8,15,"s:disktest $c000":close1 ;:open8,8,8,"disktest $c000,p,w ;:sys36864 ;.opt o8 bis =3 track =2 strout =$ab1e clrchn =$ffcc talk =$ffb4 listen =$ffb1 untalk =$ffab unlist =$ffae seclist =$ff93 sectalk =$ff96 iecin =$ffa5 iecout =$ffa8 sa =$b9 fa =$ba return =$aad7 zeig =4 gesa =166 anz =6 *= $c000 jmp prg1 jmp prg2 prg1 =* jsr clrchn jsr $b7f1 stx track jsr $b7f1 stx bis lda #0 sta gesa sta gesa+1 sta zeig lda #$c8 sta zeig+1 mainloop lda #text jsr strout lda #0 ldx track stx para jsr $bdcd jsr return lda #8 sta fa jsr listen lda #$6f sta sa jsr seclist ldx #0 outlp lda cmd,x jsr iecout inx cpx #3 bcc outlp jsr unlist lda #0 sta adr jsr sendlese jsr fetch bne err cont inc track lda bis cmp track bcs mainloop lda #0 sta track jmp eintrag err pha lda #msg jsr strout pla pha tax lda #0 jsr $bdcd lda #msg2 jsr strout pla pha clc adc gesa sta gesa bcc noi inc gesa+1 noi pla sta anz azloop inc adr jsr sendlese jsr fetch jsr eintrag dec anz bne azloop jmp cont sendlese lda #8 sta fa jsr listen lda #$6f sta sa jsr seclist ldx #0 outlp2 lda lese,x jsr iecout inx cpx #5 bcc outlp2 jmp unlist fetch lda #8 sta fa jsr talk lda #$6f sta sa jsr sectalk jsr iecin pha jsr untalk pla rts eintrag ldy #0 pha lda track sta (zeig),y iny pla sta (zeig),y lda zeig clc adc #2 sta zeig bcc noinc inc zeig+1 noinc rts text .byte "\x91teste track " .byt 0 cmd .byte "uc" para .byt 0 lese .byte "m-r" adr .byt 0,4,1 msg .byte " - \x12" .byt 0 msg2 .byte "\x92 sektoren fehlerhaft -\x11" .byt 13,0 prg3 ldx table tab cmp table,x dex bcs tab lda sek,x rts table .byt 4,42,31,25,18 sek .byt 17,18,19,21 prg2 jsr $b7f1 stx track jsr $b7f1 inx stx bis lda #0 sta gesa sta gesa+1 loop lda track cmp bis bcs fertig jsr prg3 clc adc gesa sta gesa lda gesa+1 adc #0 sta gesa+1 inc track bne loop fertig rts .end close8